package com.xique.door.api;

import com.xique.common.core.constant.ServiceNameConstants;
import com.xique.common.core.web.domain.AjaxResult;
import com.xique.door.api.factory.RemoteUserFallbackFactory;
import com.xique.door.api.request.user.RemoteUserListRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @author shd
 * @create 2022/3/10 15:26
 */
@FeignClient(contextId = "RemoteUserService", value = ServiceNameConstants.DOOR_BIZ_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
public interface RemoteUserService {

    /**
     * 用户列表
     * @author shd
     * @date 2022/3/10 15:46
     * @param request
     * @return com.xique.common.core.web.domain.AjaxResult
     */
    @PostMapping("user/openApi/v1/userList")
    AjaxResult getUserList(@RequestBody RemoteUserListRequest request);

    /**
     * 更新访客码
     * @author shd
     * @date 2022/4/21 15:37
     * @return com.xique.common.core.web.domain.AjaxResult
     */
    @PostMapping("user/task/updateInvitationCode")
    AjaxResult updateInvitationCode();
}
